package shared;

/**
 * Project constants
 * @author Joel Garboden
 */
public final class Consts
{
  public static final int SERVER_QUEUE_SIZE = 10;
  public static final int CLIENT_QUEUE_SIZE = 10;
  public static final int GAME_SPAWN_LIMIT = 1;

  public static final String DEFAULT_IP = "127.0.0.1";
  public static final int DEFAULT_PORT = 1345;

  public static final int MINIMUM_PLAYERS = 2;

  public static final String SYSTEM_NAME = "System";
  public static final String QUIT_MSG = "has quit.";
  public static final String JOIN_MSG = "has joined the lobby.";
  public static final String GAME_JOIN_MSG = "is connecting to the game.";
  public static final String INVITE_MSG = "You have been invited to a game.\n" +
                                          "Do you wish to join?";
  public static final String RECONN_MSG = "has rejoined the game.";
  public static final String KICK_MSG = "has been kicked, player was not part of this game.";
  public static final String WELCOME_MSG = "Welcome to the InEquity waiting lobby.";
  public static final String GM_NAME = "Game Master";
  public static final String CONN_MSG = "Connected to the server";
  public static final String CONN_ERR_MSG = "Unable to connect to the server";
  public static final String START_GAME_MODE_ERR_MSG = "Game is already started, " +
                                                       "impossible to start a new " +
                                                       "game from within a game.";
  public static final String GAME_LIMIT_REACHED = "Game cannot be started, game limit reached.";

  public static final String FIRST_TURN_MSG = "has the first turn, once they start the game no one new can join.";

  public static final String STARTED_GAME_MSG = "has started the game! Good luck!.";
  
  public static final String LOBBY_TITLE = "(In)Equity Lobby";
  public static final String DEFAULT_CHAT_PROMPT = "Enter text to send here.";

  public static final String COMPLETED_TURN_MSG = "has completed their turn.";
  public static final String STARTED_TURN_MSG = "has started their turn.";

  public static final int WEEKLY_BILL_DAYS = 1;
  public static final int MONTHLY_BILL_DAYS = 4;
  public static final int YEARLY_BILL_DAYS = 52;

  public static final int WEEKS_IN_MONTH = 4;
  
  public static final double TWO_PERCENT = .02;
  public static final double TEN_PERCENT = .10;

  /**
   * Game states for controllers and servers
   */
  public enum GameState
  {
    INACTIVE,
    LOBBY_MODE,
    GAME_MODE,
  }

  /**
   * Priorities for network queues
   */
  public enum Priorities
  {
    URGENT,
    SYSTEM_MSG,
    DATA_UPDATE,
    TURN_UPDATE,
    CHAT_MSG;
  }
}
